<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title> JavaSript模块规范 - AMD规范与CMD规范介绍</title>
</head>
<body>
<a href="http://blog.chinaunix.net/uid-26672038-id-4112229.html">参考文档</a>
<p><strong>特点：</strong>高内聚、低耦合</p>
<p>模块化设计的系统的所必需的能力：</p>
<ul>
    <li>定义封装的模块。</li>
    <li>定义新模块对其他模块的依赖。</li>
    <li>可以对其他模块引入支持。</li>
</ul>
<p>于是相应的规范就产生了，非传统模式开发方式的规范：commonJS，AMD（RequireJS），CMD（seaJS）</p>
<a href="http://blog.csdn.net/john1337/article/details/55049062">参考文档</a>
<a href="http://javascript.ruanyifeng.com/nodejs/module.html#toc0">阮一峰-nodejs-commonjs</a><br/>
<a href="http://blog.csdn.net/ejinxian/article/details/52710840">参考项目</a>
<pre>
    参考插件，发现有如下一串代码：
    <strong>功能是：提供AMD模块接口，CMD模块接口，以及原生JS接口。</strong>
/**
   * Module Wrapper
   * --------------
   */
  if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
    define(function () {
      return ScrollReveal   //AMD规范
    })
  } else if (typeof module !== 'undefined' && module.exports) {
    module.exports = ScrollReveal   //commonJS规范
  } else {
    window.ScrollReveal = ScrollReveal   //原生JS
  }
</pre>
<a href="http://www.tuicool.com/articles/7j2iYzm">polyFills</a>
<script>
//    执行下一帧动画
//Polyfills(填充物):一个开源项目（代码片段集合），目的：保证现代浏览器的的正常使用的同时，还能支持旧版浏览器。
var _requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(callback){
            setTimeout(callback,1000/60);
        }
</script>
</body>
</html>